﻿using Xejen.Ipc.Framework.Controllers;
using Xejen.Ipc.Framework.Flows;
using Xejen.Ipc.Framework.Steps;
using Microsoft.Extensions.Logging;
using System;
using System.Collections.Generic;
using System.Text;

namespace Xejen.Ipc.Framework.Flows
{
    /// <summary>
    /// 表示步骤运行中的上下文
    /// </summary>
    /// <typeparam name="TData"><inheritdoc cref="IFlow{TData}" path="/typeparam[@name='TData']"/></typeparam>
    /// <creator>marc</creator>
    public interface IFlowExecutionContext<TData> where TData : new()
    {
        /// <summary>
        /// <inheritdoc cref="IFlow{TData}" path="/typeparam[@name='TData']"/>
        /// </summary>
        TData Data { get; }

        /// <inheritdoc cref="IFlow{TData}"/>
        IFlow<TData> Flow { get; }
    }
}
